O ciclo de vida de todo programa começa como um programa-fonte (ou arquivo-fonte). Em seu nível mais fundamental, seu código nada mais é do que uma sequência de bits, organizada em blocos de 8 bits chamados bytes. Para nós, é lógica; para o computador, é um manuscrito digital de códigos numéricos.
1. O Padrão ASCII
Para garantir que a letra 'i' que você digita em int seja a mesma 'i' que o computador lê, utilizamos o padrão ASCII. Cada caractere corresponde a um valor inteiro específico. Por exemplo, o caractere # é armazenado como o valor de byte $35$, enquanto i é $105$.
| Caractere | # | i | n | c | l | u | d | e |
|---|---|---|---|---|---|---|---|---|
| ASCII | 35 | 105 | 110 | 99 | 108 | 117 | 100 | 101 |
2. Arquivos de Texto vs. Arquivos Binários
A distinção entre arquivos de texto e arquivos binários é puramente baseada no contexto. Arquivos compostos exclusivamente por caracteres ASCII são arquivos de texto; todos os demais são binários. Nesta fase inicial de "código fonte", seu programa existe apenas como uma sequência linear desses códigos numéricos.